-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure shifted keys are released #735
base: main
Are you sure you want to change the base?
Conversation
When presssing a `SHIFT + any_key` combination and releasing the `SHIFT` key **before** `any_key`, the `any_key` code is not sent. This change will ensure `any_key` code is relesed before the `SHIFT` to ensure target system receives the right `keyup` event
Wouldn't this be incorrect behavior? If the following key events occur locally:
Then the events sent to the remote desktop should be exactly that. It would be incorrect to reorder the events to:
|
@mike-jumper the problem we are trying to solve are different key codes with and without Lets say we have
But when we do it in a different order, there is a race condition. There are two posibilities:
This is expected behavior, however when doing this relatively slowly we can end up with following state:
This means, that there is no sent keyup for |
What do you see when you press the key sequence in question on the key event tester: https://guacamole.apache.org/pub/tests/guac/keyboard-test.html |
And what keyboard layout are you using locally? |
@mike-jumper US keyboard. Also tried it with Slovak keyboard (different key), same results: |
Is there an associated JIRA issue to join the discussion? I observed that |
@m1k1o - The issue you're seeing appears due to key repeat behavior. I don't think we should solve that behavior by reordering key events, but instead investigate and correct whatever is causing the shifted version of the key to not be released as its unshifted counterpart repeats. It may be a browser quirk that the keyboard support needs to work around, or it may be a bug in the client-side tracking of key state. @everflux - What you describe sounds like something different and may not be a bug in Guacamole. If you encounter the same behavior in the latest release of the standard, unmodified Guacamole stack (1.4.0), then yes please open a JIRA. If you only encounter the issue with your modified webapp, then the issue lies with your webapp and you should request assistance in troubleshooting your app on the mailing list. |
@everflux we also created our own web client and ran into similar issues. We connect to a Linux server using XRDP and needed support for shortcuts such as Ctrl + Alt + T which open a terminal on a Linux Desktop. The keyboard implementation from Guacamole doesn't forward the |
|
@mike-jumper thanks for chiming in. I'm not seeing the same output. I'm testing this on Chrome on MacOS |
When presssing a
SHIFT + any_key
combination and releasing theSHIFT
key beforeany_key
, theany_key
code is not sent.This change will ensure
any_key
code is relesed before theSHIFT
to ensure target system receives the rightkeyup
event